.set				ADDITION_FUNCTION, 0x082DBFE4
.set				SUBTRACT_FUNCTION, 0x082DBFF8

@/////////////////////////////
@Address to check:
.long				RCH_PRIOR_ORIGIN
@Expected contents:
.long				RCH_PRIOR_START
@\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

@/////////////////////////////
@.org				0x0808513C
@mov	r4,	r7		@This instruction is before
@add	r4,	#0x20		@the loop for saving stats during normal saving
@mov	r6,	#0x00		@
@mov	r5,	#0x33		@

@Range: 0x00-0x34

@Restart Chapter hack - translate to SRAM for normal saving
@Needs testing
				RCH_PRIOR_HOOK:
.set				RCH_PRIOR_HOOK_ORIGIN, 0x0808513C
.set				RCH_PRIOR_HOOK_SIZE, RCH_PRIOR_HOOK_END - RCH_PRIOR_HOOK_START
@Origin
.long				RCH_PRIOR_HOOK_ORIGIN
@Size
.long				(RCH_PRIOR_HOOK_SIZE + 3) & 0x7FFFFFFC
				RCH_PRIOR_HOOK_START:
.thumb
ldr	r4,			RCH_PRIOR_HOOK_ADDRESS
bx	r4			@
.align				2
				RCH_PRIOR_HOOK_ADDRESS:
.long				RCH_PRIOR_ORIGIN + 1
				RCH_PRIOR_HOOK_END:
@@@@@
				RCH_PRIOR:
.set				RCH_PRIOR_ORIGIN, 0x082DC428
.set				RCH_PRIOR_SIZE, RCH_PRIOR_END - RCH_PRIOR_START
@Origin
.long				RCH_PRIOR_ORIGIN
@Size
.long				(RCH_PRIOR_SIZE + 3) & 0x7FFFFFFC
				RCH_PRIOR_START:
.thumb
ldr	r4,			RCH_PRIOR_RET
mov	lr,	r4		@
mov	r4,	r7		@
add	r4,	#0x20		@
mov	r6,	#0x00		@
mov	r5,	#0x33		@
push	{lr}			@

@	The assembler lies in the warning it gives for this
bl				SUBTRACT_FUNCTION - RCH_PRIOR_ORIGIN + RCH_PRIOR_START

pop	{pc}			@
.align				2
				RCH_PRIOR_RET:
.long				RCH_PRIOR_HOOK_ORIGIN + 9
				RCH_PRIOR_END:
@\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

@/////////////////////////////
@.org				0x08085158
@mov	r4,	#0x00		@These instructions are after
@mov	r1,	#0x84		@the loop for saving stats during normal saving
@lsl	r1,	r1,	#0x4	@
@add	r0,	r7,	r1	@

@Range: 0x00-0x34

@Restart Chapter hack - translate to SRAM for normal saving
@Needs testing
				RCH_POST_HOOK:
.set				RCH_POST_HOOK_ORIGIN, 0x08085158
.set				RCH_POST_HOOK_SIZE, RCH_POST_HOOK_END - RCH_POST_HOOK_START
@Origin
.long				RCH_POST_HOOK_ORIGIN
@Size
.long				(RCH_POST_HOOK_SIZE + 3) & 0x7FFFFFFC
				RCH_POST_HOOK_START:
.thumb
ldr	r4,			RCH_POST_HOOK_ADDRESS
bx	r4			@
.align				2
				RCH_POST_HOOK_ADDRESS:
.long				RCH_POST_ORIGIN + 1
				RCH_POST_HOOK_END:
@@@@@
				RCH_POST:
@	The assembler screws this
@.set				RCH_POST_ORIGIN, RCH_PRIOR_ORIGIN + RCH_PRIOR_SIZE
.set				RCH_POST_ORIGIN, RCH_PRIOR_ORIGIN + RCH_PRIOR_END - RCH_PRIOR_START
.set				RCH_POST_SIZE, RCH_POST_END - RCH_POST_START
@Origin
.long				RCH_POST_ORIGIN
@Size
.long				(RCH_POST_SIZE + 3) & 0x7FFFFFFC
				RCH_POST_START:
.thumb
ldr	r4,			RCH_POST_RET
mov	lr,	r4		@
mov	r4,	#0x00		@
mov	r1,	#0x84		@
lsl	r1,	r1,	#0x4	@
add	r0,	r7,	r1	@
push	{lr}			@

bl				ADDITION_FUNCTION - RCH_POST_ORIGIN + RCH_POST_START

pop	{pc}			@
.align				2
				RCH_POST_RET:
.long				RCH_POST_HOOK_ORIGIN + 9
				RCH_POST_END:
@\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
